package com.qiangzhi.service;

import com.qiangzhi.pojo.dto.CollegePageQueryDTO;
import com.qiangzhi.pojo.dto.CollegeDTO;
import com.qiangzhi.pojo.vo.CollegeVO;
import com.qiangzhi.result.PageResult;

import java.util.List;

public interface CollegeService {

    /**
     * 新增学院和班级
     *
     * @param collegeDTO
     * @return
     */
    void insertCollegeOrMajor(CollegeDTO collegeDTO);

    /**
     * 学院和班级分页查询
     *
     * @param collegePageQueryDTO
     * @return
     */
    PageResult page(CollegePageQueryDTO collegePageQueryDTO);

    /**
     * 查询全部专业
     *
     * @return
     */
    List<CollegeVO> getAllCollege();

    /**
     * 根据学院id查询班级
     *
     * @param collegeId
     * @return
     */
    List<CollegeVO> getMajorByCollegeId(Integer collegeId);

    /**
     * 根据id查询学院或班级详细信息
     *
     * @param collegeDTO
     * @return
     */
    CollegeVO getDetail(CollegeDTO collegeDTO);

    /**
     * 根据id删除学院信息
     *
     * @param collegeId
     * @return
     */
    void deleteByCollegeId(Integer collegeId);

    /**
     * 根据id删除班级信息
     *
     * @param majorId
     * @return
     */
    void deleteByMajorId(Integer majorId);

    /**
     * 根据id编辑学院和班级信息
     *
     * @param collegeDTO
     * @return
     */
    void updateCollegeOrMajor(CollegeDTO collegeDTO);

}
